1. Field of the Invention
The present invention relates to a computer program product, system, and method for providing access information to a storage controller to determine a storage tier for storing data.
2. Description of the Related Art
In a log structured (“LS”) storage system, updates to data are not written in place, but written to a new logical and physical address. Data may be stored in a key-value store, where data is stored in unstructured records consisting of a key plus the values associated with that record. Each record has the indexed key that is unique in a namespace or set of data and one or more named bins or columns that hold the data for the record.
The LS storage system may be used to store data on solid state storage devices (“SSD”), such as flash devices. The key-value store may occasionally be subject to a process of compaction where the key-value store reorganizes the data layout in storage to be optimal for certain workloads. For instance, they key value store may reorganize data in a sorted order in order to optimize Input/Output throughput for range queries. The log structured storage system may occasionally perform garbage collection where active data, i.e., the most current version of the data, is collected and rewritten to new storage locations and physical and logical addresses having older or stale versions of data are freed to make available for subsequently received data.
Storage systems may have multiple tiers of storages so that data is stored on various types of storage devices primarily based on criteria of the access, frequency of use, security and data recovery requirements. For space and performance optimization, the data is transferred between high-cost and low-cost storage media. Such systems exist because high-speed storage devices, such as Solid State devices (SSD), Hard Disk Drive Arrays, etc., are more expensive (per byte stored) than the slower storage devices, such as optical discs and magnetic tape drives. While it would be ideal to have all data available on high-speed devices all the time, this is prohibitively expensive for many organizations. Instead, tiered systems store the bulk of the enterprise's data on slower devices, and then migrate more frequently accessed data to faster media when needed. The advantage is that the total amount of stored data can be much larger than the capacity of the active storage media available. In effect, tiered systems turn the fast storage devices into caches for the slower mass storage devices.
Storage tiering is the placement of data on different devices in the multi-tiered storage based on the type of usage, performance and capacity requirements of the data and the characteristics of the devices. Automated storage tiering programs automatically manage data placement by observing the characteristics of data in the multi-tiered storage and automatically moving the data among the different tiers of storage after observing the data for a predetermined time, such as a number of hours. Automated storage tiering decisions are based on observation of workloads or pre-set administrator policies which statically partition resources. To determine where to store data in a multi-tier storage system, a storage manager program will analyze data access patterns, workloads on the storage devices, and usage of the devices and determine the tiers and devices within tiers on which to locate data. More frequently accessed, or hot data, may be placed on faster access devices, and less frequently accessed data, or cold data, may be placed on slower access devices having a larger storage capacity.